package com.ibeeking.found.content.service.common.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @ClassName BroadcastGoodsVO
 * @Description 直播间商品信息库
 * @Author ibeeking
 * @Date 2022-02-18 14:11
 **/
@Data
public class BroadcastGoodsVO implements Serializable {

    /**
     * 主键
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long id;

    /**
     * 商品ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long goodsId;
    /**
     * 商品缩略图
     */
    private String goodsThumb;
    /**
     * 商品名称
     */
    private String goodsName;

    /**
     * 价格类型，1：一口价 2：价格区间 3：显示折扣价
     */
    private Integer goodsPriceType;
    private String goodsPriceTypeName;
    /**
     * 价格(到分)
     */
    private Long goodsPrice;

    /**
     * 价格2(到分)
     */
    private Long goodsPrice2;

    private String goodsPriceDesc;
    /**
     * 商品图片
     */
    private String goodsImg;

    /**
     * 商品详情页URL
     */
    private String goodsPagePath;

    /**
     * 外部商品ID
     */
    private Integer goodsReferId;

    /**
     * 上架状态 1-上架 0-未上架 腾讯审核通过则视为上架
     */
    private Integer publishStatus;
    private String publishStatusDesc;
    /**
     * 审核ID
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Integer auditId;
    /**
     * 备注
     */
    private String remark;
    /**
     * 创建时间
     */
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime onlineTime;

    /**
     * 创建时间
     */
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime createTime;

    /**
     * 创建人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long createBy;

    /**
     * 更新时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @JsonDeserialize(using = LocalDateTimeDeserializer.class)
    @JsonSerialize(using = LocalDateTimeSerializer.class)
    private LocalDateTime modifyTime;

    /**
     * 更新人
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING)
    private Long modifyBy;

}
